home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet internetowy / Rozne / HTTrack 3.40-2 / httrack-3.40-2.exe / {app} / src_win / WinHTTrack / Shell.h < prev    next >
C/C++ Source or Header  |  2005-05-29  |  7KB  |  244 lines

  1. // Shell.h : main header file for the SHELL application
  2. //
  3.  
  4. #if !defined(AFX_SHELL_H__ED81E637_E017_11D1_A97E_006097BC6150__INCLUDED_)
  5. #define AFX_SHELL_H__ED81E637_E017_11D1_A97E_006097BC6150__INCLUDED_
  6. #if _MSC_VER >= 1000
  7. #pragma once
  8. #endif // _MSC_VER >= 1000
  9. #ifndef __AFXWIN_H__
  10.     #error include 'stdafx.h' before including this file for PCH
  11. #endif
  12.  
  13. /* basic HTTrack defs */
  14. extern "C" {
  15.   #include "htsglobal.h"
  16.   #include "htsopt.h"
  17. }
  18.  
  19. //
  20. // connectΘ via HTTrack? (dΘfini dans projet)
  21. #define USE_RAS 1
  22. //
  23.  
  24. // sleep (taux de refresh) en ms
  25. #define HTS_SLEEP_WIN 100
  26.  
  27. #include "resource.h"       // main symbols
  28. #include "cpp_lang.h"
  29. // Ras
  30. #if USE_RAS
  31. #include "RasLoad.h"
  32. #endif
  33. #include "MainTab.h"
  34.  
  35. // helper launcher
  36. #include "LaunchHelp.h"
  37.  
  38. // lang.h
  39. #include "newlang.h"
  40.  
  41. // message requests
  42. #define wm_ViewRestart (WM_USER + 100)
  43. // test 
  44. #define wm_WizRequest1 (WM_USER + 101)
  45. #define wm_WizRequest2 (WM_USER + 102)
  46. #define wm_WizRequest3 (WM_USER + 103)
  47.  
  48. // char[] dynamiques
  49. #define dynstrcpy(dest,src) { \
  50.   if (dest) free(dest);\
  51.   dest=(char*) malloc(strlen(src)+1);\
  52.   if (dest)\
  53.     strcpy(dest,src);\
  54.   }
  55. #define dynclear(dest) { if (dest) { free(dest); dest=NULL; }}
  56.  
  57. typedef struct t_StatsBuffer {
  58.   char nom[HTS_URLMAXSIZE*2];
  59.   char fichier[HTS_URLMAXSIZE];
  60.   char etat[256];
  61.   char url_sav[HTS_URLMAXSIZE*2];    // pour cancel
  62.   char url_adr[HTS_URLMAXSIZE*2];
  63.   char url_fil[HTS_URLMAXSIZE*2];
  64.   LLint size;
  65.   LLint sizetot;
  66.   int offset;
  67.   //
  68.   int back;
  69.   //
  70.   int actived;    // pour disabled
  71. } t_StatsBuffer;
  72.  
  73. typedef struct InpInfo {
  74.   int ask_refresh;
  75.   int refresh;
  76.   LLint stat_bytes;
  77.   int stat_time;
  78.   int lien_n;
  79.   int lien_tot;
  80.   int stat_nsocket;
  81.   int rate;
  82.   int irate;
  83.   int ft;
  84.   LLint stat_written;
  85.   int stat_updated;
  86.   int stat_errors;
  87.   int stat_warnings;
  88.   int stat_infos;
  89.   TStamp stat_timestart;
  90.   int stat_back;
  91. } InpInfo;
  92.  
  93.  
  94. /* WinHTTrack mutex */
  95. extern HANDLE WhttMutex;
  96. #define WHTT_LOCK() WaitForSingleObject(WhttMutex,INFINITE)
  97. #define WHTT_UNLOCK() ReleaseMutex(WhttMutex)
  98.  
  99. /* Location */
  100. extern char* WhttLocation;
  101. #define WHTT_LOCATION(a) WhttLocation=(a)
  102.  
  103. // fonctions moteur
  104. int   __cdecl httrackengine_check(char* adr,char* fil,int status);
  105. int   __cdecl httrackengine_check_mime(char* adr,char* fil,char* mime,int status);
  106. void  __cdecl httrackengine_init();
  107. void  __cdecl httrackengine_uninit();
  108. int   __cdecl httrackengine_start(void* dummy);
  109. int   __cdecl httrackengine_end();
  110. int   __cdecl httrackengine_htmlpreprocess(char** html,int* len,char* url_adresse,char* url_fichier);
  111. int   __cdecl httrackengine_htmlpostprocess(char** html,int* len,char* url_adresse,char* url_fichier);
  112. int   __cdecl httrackengine_htmlcheck(char* html,int len,char* url_adresse,char* url_fichier);
  113. int   __cdecl httrackengine_chopt(void* opt);
  114. int   __cdecl httrackengine_loop(void* _back,int back_max,int back_index,int lien_n,int lien_tot,int stat_time,hts_stat_struct* stats);
  115. char* __cdecl httrackengine_query(char* question);
  116. char* __cdecl httrackengine_query2(char* question);
  117. char* __cdecl httrackengine_query3(char* question);
  118. void  __cdecl httrackengine_pause(char* lockfile);
  119.  
  120.  
  121. // profile
  122. int Save_current_profile(int ask);
  123. //
  124. int MyGetProfileInt(CString path,CString dummy,CString name,int value);
  125. int MyGetProfileIntFile(FILE* fp,CString dummy,CString name,int value);
  126. int MyWriteProfileString(CString path,CString dummy,CString name,CString value);
  127. int MyWriteProfileStringFile(FILE* fp,CString dummy,CString name,CString value);
  128. CString MyGetProfileStringFile(FILE* fp,CString dummy,CString name,CString value);
  129. CString MyGetProfileString(CString path,CString dummy,CString name,CString value="");
  130. void Write_profile(CString path,int load_path);
  131. void Read_profile(CString path,int load_path);
  132. int MyWriteProfileInt(CString path,CString dummy,CString name,int value);
  133. int MyWriteProfileIntFile(FILE* fp,CString dummy,CString name,int value);
  134.  
  135. void Build_TopIndex(BOOL check_empty=TRUE);
  136.  
  137. void InitRAS();
  138.  
  139. // Gestion rΘpertoires
  140. int CheckDirInfo(CString path);
  141. BOOL RemoveEmptyDir(CString path);
  142.  
  143.  
  144. // RAS //
  145. /*
  146. #include "Ras.h"
  147. typedef unsigned long (* t_RasHangUp)(HRASCONN);
  148. */
  149. // RAS END //
  150.  
  151. /* lang extensions */
  152. void SetCombo(CWnd* _this,int id,char* lang_string);
  153.  
  154.  
  155. // HTTrack params - pour le multithread interface/robot
  156. class HTTrack_Params {
  157. public:
  158.   int argc;
  159.   char** argv;
  160.   //
  161.   int* result;
  162. };
  163. typedef struct Robot_params {
  164.   int argc;
  165.   char** argv;
  166. } Robot_params;
  167.  
  168. // Lancement du miroir
  169. BOOL LaunchMirror();
  170.  
  171.  
  172. #define NStatsBuffer                    14
  173.  
  174. /* Class */
  175. class CShellOptions {
  176. public:
  177.   CString LINE, url, filelist, proxy, proxyftp, port, depth, 
  178.     extdepth, get, where, meth, maxfile, max, frag, 
  179.     conn, tog, cache, robots, choixdeb, build, filtre, htmlfirst, 
  180.     index, index2, dos, time, rate, hostquit, ka, 
  181.     user, footer, log, testall, parseall, link, path, 
  182.     retry, errpage, external, nopurge, hidepwd, hidequery, 
  183.     cookies, checktype, parsejava, Cache2, logtype, norecatch, 
  184.     toler, updhack, urlhack, http10, waittime, maxtime, maxrate, 
  185.     maxconn, maxlinks, hh, mm, ss, buff_filtres, buff_MIME, 
  186.     _RasString;
  187.   CString LINE_back;
  188.   RASDIALPARAMS _dial;
  189. };
  190.  
  191. /* Class options */
  192. extern CShellOptions* ShellOptions;
  193.  
  194.  
  195. /////////////////////////////////////////////////////////////////////////////
  196. // CShellApp:
  197. // See Shell.cpp for the implementation of this class
  198. //
  199. //class CShellApp : public CWinApp
  200. class CShellApp
  201. {
  202. public:
  203.     CShellApp();
  204.   void init_lance();
  205.   CString end_path;
  206.   CString end_path_complete;
  207.   /*
  208.   int suivant0(void);
  209.   int suivant1(void);
  210.   int suivant2(void);
  211.   //int suivant3(void);
  212.   int suivant4(void);
  213.   */
  214.   void OptPannel();
  215.  
  216.   //BOOL InitInstance();
  217.   
  218.   /*
  219. // Overrides
  220.     // ClassWizard generated virtual function overrides
  221.     //{{AFX_VIRTUAL(CShellApp)
  222.     public:
  223.     virtual BOOL InitInstance();
  224.     //}}AFX_VIRTUAL
  225.  
  226. // Implementation
  227.  
  228.     //{{AFX_MSG(CShellApp)
  229.     afx_msg void OnAppAbout();
  230.         // NOTE - the ClassWizard will add and remove member functions here.
  231.         //    DO NOT EDIT what you see in these blocks of generated code !
  232.     //}}AFX_MSG
  233.     DECLARE_MESSAGE_MAP()
  234.   */
  235. };
  236.  
  237.  
  238. /////////////////////////////////////////////////////////////////////////////
  239.  
  240. //{{AFX_INSERT_LOCATION}}
  241. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  242.  
  243. #endif // !defined(AFX_SHELL_H__ED81E637_E017_11D1_A97E_006097BC6150__INCLUDED_)
  244.